1. Field of the Invention
The present invention relates to a computer system having high reliability (i.e., having a low probability of system down).
The present invention relates to a technique of preventing, in a redundant computer system including a plurality of processors, the processors from being disconnected from the system.
The present invention relates to a technique of varying an execution timing of an internal operation of a computer.
2. Description of the Related Art
There is a known technique of constituting a computer system using a plurality of computers in order to improve reliability of the computer system. In a system of this type, generally, one computer operates and others wait. If the operating computer fails, one of the waiting computers takes over the processing. In this system, however, a temporary down of the system during switching between the computers cannot be avoided.
A computer system called an FTC (Fault Tolerant Computer) which lays special emphasis on eliminating down time has attracted attention. Although various methods of achieving no down time are available, the following method is generally used. That is, a plurality of processors perform the same processing in a system. Processing results of the processors are compared with each other, and an abnormality is detected in accordance with the comparison result. A processor detected to be abnormal is disconnected from the system, and the processing is continued by the remaining processors.
Even in a system using computers of this type, however, if an abnormality is caused by a design defect of a computer or a program bug, a plurality of processors may be disconnected by a chain reaction from the system. More specifically, system abnormality caused by a design defect of a processor or a software bug occurs, in many cases, only when a series of, e.g., input data or operation timings take a specific relationship. In a redundant system, as described above, a plurality of processors often process the same input data in accordance with the same software and the same clock, or a processor often takes over processing of a faulty processor. In these cases, a plurality of processors may be set in the same specific state by, e.g., a design defect or a software bug to cause the system to go down. Especially in a system using custom-designed processors or software, such a design defect or software bug sometimes poses serious problems in the early stages after development.